qt中设置窗体大小 |
您所在的位置:网站首页 › qt widget自适应大小 › qt中设置窗体大小 |
在我们的编程中,我们有时候会想让我们的程序窗体固定大小,而该大小是我们在编辑时的大小。 经过我的摸索,和查阅资料。找到了一个方法。其实也很简单。其实也就是先找到该窗体的物理大小。 然后设置固定窗体的大小即可,核心代码如下: loginDialog::loginDialog(QWidget *parent) : QDialog(parent), ui(new Ui::loginDialog){ ui->setupUi(this); int width = this->geometry().width(); int height = this->geometry().height(); this->setFixedSize(width,height); //设置窗体固定大小}用Qt创建一个窗口,如何调整窗口的大小呢? 1.setBaseSize(),调用这个方法 1 setBaseSize( 800, 600 ); 运行程序,发现一点效果都没有。 注意我这里并没有使用setFixedSize setMaximumSize,因为虽然这些方法能够设置初始大小,但是之后就不能用鼠标调整窗口大小了。
2.用重载QSize sizeHint() const 的方式来实现。这个函数是QWidget的一个虚函数。如下: 1 2 3 4 5 6 virtual QSize sizeHint () const
QSize Mywindow::sizeHint() const { return QSize( 800, 600 ); } 这样就可以设置窗口的大小伪800x600了。 3.后来发现还有一个方法就是 resize。在构造函数中直接调用他设置大小就可以。如:
1 this-;resize( QSize( 800, 600 )); 在Qt中控制窗口大小控制窗口大小常用的函数: 1 2 3 4 5 6 7 8 void setMinimumSize ( const QSize ;amp; ) virtual void setMinimumSize ( int minw, int minh ) void setMaximumSize ( const QSize ;amp; ) virtual void setMaximumSize ( int maxw, int maxh ) void setMinimumWidth ( int minw ) void setMinimumHeight ( int minh ) void setMaximumWidth ( int maxw ) void setMaximumHeight ( int maxh )
注意:在控制主窗体部件的大小时,有时候达不到效果,可以试试先设置好子窗体 部件的大小,然后再设置主窗体部件大小。 例如: 用QMainWindow创建了一个窗体,然后设置其最小显示大小为setMinimumSize (450, 600 );但是该主窗体中还包含其它子窗体部件,例如包含一个QTextEdit,那么要先设置其最小大小为setMinimumSize ( 450, 600 );那么就达到了,整个窗体最小只能是宽450像素,高600像素。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |